/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Fri Apr 25 08:02:38 2008
 */
/* Compiler settings for ..\interface\Tool.idl:
    Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __Tool_h__
#define __Tool_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __IDWDisplayToolHelper_FWD_DEFINED__
#define __IDWDisplayToolHelper_FWD_DEFINED__
typedef interface IDWDisplayToolHelper IDWDisplayToolHelper;
#endif 	/* __IDWDisplayToolHelper_FWD_DEFINED__ */


#ifndef __IQTDisplay_FWD_DEFINED__
#define __IQTDisplay_FWD_DEFINED__
typedef interface IQTDisplay IQTDisplay;
#endif 	/* __IQTDisplay_FWD_DEFINED__ */


#ifndef __IQTLoad_FWD_DEFINED__
#define __IQTLoad_FWD_DEFINED__
typedef interface IQTLoad IQTLoad;
#endif 	/* __IQTLoad_FWD_DEFINED__ */


#ifndef __IQTSave_FWD_DEFINED__
#define __IQTSave_FWD_DEFINED__
typedef interface IQTSave IQTSave;
#endif 	/* __IQTSave_FWD_DEFINED__ */


#ifndef __IQTEventTool_FWD_DEFINED__
#define __IQTEventTool_FWD_DEFINED__
typedef interface IQTEventTool IQTEventTool;
#endif 	/* __IQTEventTool_FWD_DEFINED__ */


#ifndef __IQTGeneral_FWD_DEFINED__
#define __IQTGeneral_FWD_DEFINED__
typedef interface IQTGeneral IQTGeneral;
#endif 	/* __IQTGeneral_FWD_DEFINED__ */


#ifndef __IQTStaticInfo_FWD_DEFINED__
#define __IQTStaticInfo_FWD_DEFINED__
typedef interface IQTStaticInfo IQTStaticInfo;
#endif 	/* __IQTStaticInfo_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

/* interface __MIDL_itf_Tool_0000 */
/* [local] */ 

#define TOOL_MAJOR_VERSION	1
#define TOOL_MINOR_VERSION	0
#define TOOL_BUG_FIX		0


extern RPC_IF_HANDLE __MIDL_itf_Tool_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Tool_0000_v0_0_s_ifspec;

#ifndef __IDWDisplayToolHelper_INTERFACE_DEFINED__
#define __IDWDisplayToolHelper_INTERFACE_DEFINED__

/* interface IDWDisplayToolHelper */
/* [uuid][object][local] */ 


EXTERN_C const IID IID_IDWDisplayToolHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4b24-f51b-11d3-82f3-00105a67f94e")
    IDWDisplayToolHelper
    {
    public:
        BEGIN_INTERFACE
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColor( 
            /* [in] */ const BYTE byColorIndex,
            /* [out] */ COLORREF __RPC_FAR *pcr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DrawHandle( 
            /* [in] */ HDC hDC,
            /* [in] */ POINT __RPC_FAR *pt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidateDIBRect( 
            /* [in] */ RECT __RPC_FAR *prc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidateMarker( 
            /* [in] */ POINT __RPC_FAR *ppt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateWindow( void) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IDWDisplayToolHelperVtbl
    {
        BEGIN_INTERFACE
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColor )( 
            IDWDisplayToolHelper __RPC_FAR * This,
            /* [in] */ const BYTE byColorIndex,
            /* [out] */ COLORREF __RPC_FAR *pcr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawHandle )( 
            IDWDisplayToolHelper __RPC_FAR * This,
            /* [in] */ HDC hDC,
            /* [in] */ POINT __RPC_FAR *pt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvalidateDIBRect )( 
            IDWDisplayToolHelper __RPC_FAR * This,
            /* [in] */ RECT __RPC_FAR *prc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvalidateMarker )( 
            IDWDisplayToolHelper __RPC_FAR * This,
            /* [in] */ POINT __RPC_FAR *ppt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invalidate )( 
            IDWDisplayToolHelper __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateWindow )( 
            IDWDisplayToolHelper __RPC_FAR * This);
        
        END_INTERFACE
    } IDWDisplayToolHelperVtbl;

    interface IDWDisplayToolHelper
    {
        CONST_VTBL struct IDWDisplayToolHelperVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDisplayToolHelper_GetColor(This,byColorIndex,pcr)	\
    (This)->lpVtbl -> GetColor(This,byColorIndex,pcr)

#define IDWDisplayToolHelper_DrawHandle(This,hDC,pt)	\
    (This)->lpVtbl -> DrawHandle(This,hDC,pt)

#define IDWDisplayToolHelper_InvalidateDIBRect(This,prc)	\
    (This)->lpVtbl -> InvalidateDIBRect(This,prc)

#define IDWDisplayToolHelper_InvalidateMarker(This,ppt)	\
    (This)->lpVtbl -> InvalidateMarker(This,ppt)

#define IDWDisplayToolHelper_Invalidate(This)	\
    (This)->lpVtbl -> Invalidate(This)

#define IDWDisplayToolHelper_UpdateWindow(This)	\
    (This)->lpVtbl -> UpdateWindow(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDisplayToolHelper_GetColor_Proxy( 
    IDWDisplayToolHelper __RPC_FAR * This,
    /* [in] */ const BYTE byColorIndex,
    /* [out] */ COLORREF __RPC_FAR *pcr);


void __RPC_STUB IDWDisplayToolHelper_GetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDisplayToolHelper_DrawHandle_Proxy( 
    IDWDisplayToolHelper __RPC_FAR * This,
    /* [in] */ HDC hDC,
    /* [in] */ POINT __RPC_FAR *pt);


void __RPC_STUB IDWDisplayToolHelper_DrawHandle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDisplayToolHelper_InvalidateDIBRect_Proxy( 
    IDWDisplayToolHelper __RPC_FAR * This,
    /* [in] */ RECT __RPC_FAR *prc);


void __RPC_STUB IDWDisplayToolHelper_InvalidateDIBRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDisplayToolHelper_InvalidateMarker_Proxy( 
    IDWDisplayToolHelper __RPC_FAR * This,
    /* [in] */ POINT __RPC_FAR *ppt);


void __RPC_STUB IDWDisplayToolHelper_InvalidateMarker_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDisplayToolHelper_Invalidate_Proxy( 
    IDWDisplayToolHelper __RPC_FAR * This);


void __RPC_STUB IDWDisplayToolHelper_Invalidate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDisplayToolHelper_UpdateWindow_Proxy( 
    IDWDisplayToolHelper __RPC_FAR * This);


void __RPC_STUB IDWDisplayToolHelper_UpdateWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDisplayToolHelper_INTERFACE_DEFINED__ */


#ifndef __IQTDisplay_INTERFACE_DEFINED__
#define __IQTDisplay_INTERFACE_DEFINED__

/* interface IQTDisplay */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IQTDisplay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ba6266df-51a1-11d4-834f-00105a67f94e")
    IQTDisplay : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHelper( 
            /* [in] */ IDWDisplayToolHelper __RPC_FAR *pIHelper) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDIBSize( 
            /* [in] */ const SIZE __RPC_FAR *psizeDIB) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Draw( 
            HDC hDC) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CalculateDistance( 
            /* [in] */ const BYTE byStep,
            /* [in] */ const POINT __RPC_FAR *ptMouse,
            /* [out] */ long __RPC_FAR *plDistance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFocus( 
            /* [in] */ const BOOL bFocus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LButtonDown( 
            /* [in] */ POINT __RPC_FAR *ptMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LButtonUp( 
            /* [in] */ POINT __RPC_FAR *ptMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Dial( 
            /* [in] */ POINT __RPC_FAR *pptMouse) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IQTDisplayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IQTDisplay __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IQTDisplay __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelper )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ IDWDisplayToolHelper __RPC_FAR *pIHelper);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDIBSize )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ const SIZE __RPC_FAR *psizeDIB);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Draw )( 
            IQTDisplay __RPC_FAR * This,
            HDC hDC);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CalculateDistance )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ const BYTE byStep,
            /* [in] */ const POINT __RPC_FAR *ptMouse,
            /* [out] */ long __RPC_FAR *plDistance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFocus )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ const BOOL bFocus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LButtonDown )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ POINT __RPC_FAR *ptMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LButtonUp )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ POINT __RPC_FAR *ptMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Dial )( 
            IQTDisplay __RPC_FAR * This,
            /* [in] */ POINT __RPC_FAR *pptMouse);
        
        END_INTERFACE
    } IQTDisplayVtbl;

    interface IQTDisplay
    {
        CONST_VTBL struct IQTDisplayVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IQTDisplay_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IQTDisplay_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IQTDisplay_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IQTDisplay_SetHelper(This,pIHelper)	\
    (This)->lpVtbl -> SetHelper(This,pIHelper)

#define IQTDisplay_SetDIBSize(This,psizeDIB)	\
    (This)->lpVtbl -> SetDIBSize(This,psizeDIB)

#define IQTDisplay_Draw(This,hDC)	\
    (This)->lpVtbl -> Draw(This,hDC)

#define IQTDisplay_CalculateDistance(This,byStep,ptMouse,plDistance)	\
    (This)->lpVtbl -> CalculateDistance(This,byStep,ptMouse,plDistance)

#define IQTDisplay_SetFocus(This,bFocus)	\
    (This)->lpVtbl -> SetFocus(This,bFocus)

#define IQTDisplay_LButtonDown(This,ptMouse)	\
    (This)->lpVtbl -> LButtonDown(This,ptMouse)

#define IQTDisplay_LButtonUp(This,ptMouse)	\
    (This)->lpVtbl -> LButtonUp(This,ptMouse)

#define IQTDisplay_Dial(This,pptMouse)	\
    (This)->lpVtbl -> Dial(This,pptMouse)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_SetHelper_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ IDWDisplayToolHelper __RPC_FAR *pIHelper);


void __RPC_STUB IQTDisplay_SetHelper_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_SetDIBSize_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ const SIZE __RPC_FAR *psizeDIB);


void __RPC_STUB IQTDisplay_SetDIBSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_Draw_Proxy( 
    IQTDisplay __RPC_FAR * This,
    HDC hDC);


void __RPC_STUB IQTDisplay_Draw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_CalculateDistance_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ const BYTE byStep,
    /* [in] */ const POINT __RPC_FAR *ptMouse,
    /* [out] */ long __RPC_FAR *plDistance);


void __RPC_STUB IQTDisplay_CalculateDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_SetFocus_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ const BOOL bFocus);


void __RPC_STUB IQTDisplay_SetFocus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_LButtonDown_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ POINT __RPC_FAR *ptMouse);


void __RPC_STUB IQTDisplay_LButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_LButtonUp_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ POINT __RPC_FAR *ptMouse);


void __RPC_STUB IQTDisplay_LButtonUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTDisplay_Dial_Proxy( 
    IQTDisplay __RPC_FAR * This,
    /* [in] */ POINT __RPC_FAR *pptMouse);


void __RPC_STUB IQTDisplay_Dial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IQTDisplay_INTERFACE_DEFINED__ */


#ifndef __IQTLoad_INTERFACE_DEFINED__
#define __IQTLoad_INTERFACE_DEFINED__

/* interface IQTLoad */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IQTLoad;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ba6266d6-51a1-11d4-834f-00105a67f94e")
    IQTLoad
    {
    public:
        BEGIN_INTERFACE
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenDirectories( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfDirectories,
            /* [out] */ DWORD __RPC_FAR *__RPC_FAR *ppdwHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseDirectory( 
            /* [in] */ const DWORD dwHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadStrings( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfStrings,
            /* [out] */ BSTR __RPC_FAR *__RPC_FAR *ppbstr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadInteger( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfInts,
            /* [out] */ long __RPC_FAR *__RPC_FAR *pplNumber) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadDoubles( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfDoubles,
            /* [out] */ double __RPC_FAR *__RPC_FAR *ppdNumber) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadPoints( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfPoints,
            /* [out] */ POINT __RPC_FAR *__RPC_FAR *ppPt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadCLSIDs( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfCLSIDs,
            /* [out] */ CLSID __RPC_FAR *__RPC_FAR *ppCLSID) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IQTLoadVtbl
    {
        BEGIN_INTERFACE
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDirectories )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfDirectories,
            /* [out] */ DWORD __RPC_FAR *__RPC_FAR *ppdwHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDirectory )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadStrings )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfStrings,
            /* [out] */ BSTR __RPC_FAR *__RPC_FAR *ppbstr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadInteger )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfInts,
            /* [out] */ long __RPC_FAR *__RPC_FAR *pplNumber);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadDoubles )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfDoubles,
            /* [out] */ double __RPC_FAR *__RPC_FAR *ppdNumber);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadPoints )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfPoints,
            /* [out] */ POINT __RPC_FAR *__RPC_FAR *ppPt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadCLSIDs )( 
            IQTLoad __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plNoOfCLSIDs,
            /* [out] */ CLSID __RPC_FAR *__RPC_FAR *ppCLSID);
        
        END_INTERFACE
    } IQTLoadVtbl;

    interface IQTLoad
    {
        CONST_VTBL struct IQTLoadVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IQTLoad_OpenDirectories(This,dwParentHandle,strName,plNoOfDirectories,ppdwHandle)	\
    (This)->lpVtbl -> OpenDirectories(This,dwParentHandle,strName,plNoOfDirectories,ppdwHandle)

#define IQTLoad_CloseDirectory(This,dwHandle)	\
    (This)->lpVtbl -> CloseDirectory(This,dwHandle)

#define IQTLoad_ReadStrings(This,dwParentHandle,strName,plNoOfStrings,ppbstr)	\
    (This)->lpVtbl -> ReadStrings(This,dwParentHandle,strName,plNoOfStrings,ppbstr)

#define IQTLoad_ReadInteger(This,dwParentHandle,strName,plNoOfInts,pplNumber)	\
    (This)->lpVtbl -> ReadInteger(This,dwParentHandle,strName,plNoOfInts,pplNumber)

#define IQTLoad_ReadDoubles(This,dwParentHandle,strName,plNoOfDoubles,ppdNumber)	\
    (This)->lpVtbl -> ReadDoubles(This,dwParentHandle,strName,plNoOfDoubles,ppdNumber)

#define IQTLoad_ReadPoints(This,dwParentHandle,strName,plNoOfPoints,ppPt)	\
    (This)->lpVtbl -> ReadPoints(This,dwParentHandle,strName,plNoOfPoints,ppPt)

#define IQTLoad_ReadCLSIDs(This,dwParentHandle,strName,plNoOfCLSIDs,ppCLSID)	\
    (This)->lpVtbl -> ReadCLSIDs(This,dwParentHandle,strName,plNoOfCLSIDs,ppCLSID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_OpenDirectories_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plNoOfDirectories,
    /* [out] */ DWORD __RPC_FAR *__RPC_FAR *ppdwHandle);


void __RPC_STUB IQTLoad_OpenDirectories_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_CloseDirectory_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwHandle);


void __RPC_STUB IQTLoad_CloseDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_ReadStrings_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plNoOfStrings,
    /* [out] */ BSTR __RPC_FAR *__RPC_FAR *ppbstr);


void __RPC_STUB IQTLoad_ReadStrings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_ReadInteger_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plNoOfInts,
    /* [out] */ long __RPC_FAR *__RPC_FAR *pplNumber);


void __RPC_STUB IQTLoad_ReadInteger_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_ReadDoubles_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plNoOfDoubles,
    /* [out] */ double __RPC_FAR *__RPC_FAR *ppdNumber);


void __RPC_STUB IQTLoad_ReadDoubles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_ReadPoints_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plNoOfPoints,
    /* [out] */ POINT __RPC_FAR *__RPC_FAR *ppPt);


void __RPC_STUB IQTLoad_ReadPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTLoad_ReadCLSIDs_Proxy( 
    IQTLoad __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plNoOfCLSIDs,
    /* [out] */ CLSID __RPC_FAR *__RPC_FAR *ppCLSID);


void __RPC_STUB IQTLoad_ReadCLSIDs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IQTLoad_INTERFACE_DEFINED__ */


#ifndef __IQTSave_INTERFACE_DEFINED__
#define __IQTSave_INTERFACE_DEFINED__

/* interface IQTSave */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IQTSave;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ba6266d5-51a1-11d4-834f-00105a67f94e")
    IQTSave
    {
    public:
        BEGIN_INTERFACE
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDirectory( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ DWORD __RPC_FAR *pdwHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseDirectory( 
            /* [in] */ const DWORD dwHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteString( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const OLECHAR __RPC_FAR *strString) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteInteger( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const long lNumber) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteDouble( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const double dNumber) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WritePoint( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const POINT __RPC_FAR *ppt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteCLSID( 
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const CLSID __RPC_FAR *pClsid) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IQTSaveVtbl
    {
        BEGIN_INTERFACE
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateDirectory )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ DWORD __RPC_FAR *pdwHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDirectory )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteString )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const OLECHAR __RPC_FAR *strString);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteInteger )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const long lNumber);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteDouble )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const double dNumber);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WritePoint )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const POINT __RPC_FAR *ppt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteCLSID )( 
            IQTSave __RPC_FAR * This,
            /* [in] */ const DWORD dwParentHandle,
            /* [in] */ const OLECHAR __RPC_FAR *strElementName,
            /* [in] */ const CLSID __RPC_FAR *pClsid);
        
        END_INTERFACE
    } IQTSaveVtbl;

    interface IQTSave
    {
        CONST_VTBL struct IQTSaveVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IQTSave_CreateDirectory(This,dwParentHandle,strName,pdwHandle)	\
    (This)->lpVtbl -> CreateDirectory(This,dwParentHandle,strName,pdwHandle)

#define IQTSave_CloseDirectory(This,dwHandle)	\
    (This)->lpVtbl -> CloseDirectory(This,dwHandle)

#define IQTSave_WriteString(This,dwParentHandle,strElementName,strString)	\
    (This)->lpVtbl -> WriteString(This,dwParentHandle,strElementName,strString)

#define IQTSave_WriteInteger(This,dwParentHandle,strElementName,lNumber)	\
    (This)->lpVtbl -> WriteInteger(This,dwParentHandle,strElementName,lNumber)

#define IQTSave_WriteDouble(This,dwParentHandle,strElementName,dNumber)	\
    (This)->lpVtbl -> WriteDouble(This,dwParentHandle,strElementName,dNumber)

#define IQTSave_WritePoint(This,dwParentHandle,strElementName,ppt)	\
    (This)->lpVtbl -> WritePoint(This,dwParentHandle,strElementName,ppt)

#define IQTSave_WriteCLSID(This,dwParentHandle,strElementName,pClsid)	\
    (This)->lpVtbl -> WriteCLSID(This,dwParentHandle,strElementName,pClsid)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_CreateDirectory_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ DWORD __RPC_FAR *pdwHandle);


void __RPC_STUB IQTSave_CreateDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_CloseDirectory_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwHandle);


void __RPC_STUB IQTSave_CloseDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_WriteString_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strElementName,
    /* [in] */ const OLECHAR __RPC_FAR *strString);


void __RPC_STUB IQTSave_WriteString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_WriteInteger_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strElementName,
    /* [in] */ const long lNumber);


void __RPC_STUB IQTSave_WriteInteger_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_WriteDouble_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strElementName,
    /* [in] */ const double dNumber);


void __RPC_STUB IQTSave_WriteDouble_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_WritePoint_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strElementName,
    /* [in] */ const POINT __RPC_FAR *ppt);


void __RPC_STUB IQTSave_WritePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTSave_WriteCLSID_Proxy( 
    IQTSave __RPC_FAR * This,
    /* [in] */ const DWORD dwParentHandle,
    /* [in] */ const OLECHAR __RPC_FAR *strElementName,
    /* [in] */ const CLSID __RPC_FAR *pClsid);


void __RPC_STUB IQTSave_WriteCLSID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IQTSave_INTERFACE_DEFINED__ */


#ifndef __IQTEventTool_INTERFACE_DEFINED__
#define __IQTEventTool_INTERFACE_DEFINED__

/* interface IQTEventTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IQTEventTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ba626710-51a1-11d4-834f-00105a67f94e")
    IQTEventTool
    {
    public:
        BEGIN_INTERFACE
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MessageToDSP( 
            /* [in] */ const BYTE __RPC_FAR *pstrMessage) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IQTEventToolVtbl
    {
        BEGIN_INTERFACE
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MessageToDSP )( 
            IQTEventTool __RPC_FAR * This,
            /* [in] */ const BYTE __RPC_FAR *pstrMessage);
        
        END_INTERFACE
    } IQTEventToolVtbl;

    interface IQTEventTool
    {
        CONST_VTBL struct IQTEventToolVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IQTEventTool_MessageToDSP(This,pstrMessage)	\
    (This)->lpVtbl -> MessageToDSP(This,pstrMessage)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTEventTool_MessageToDSP_Proxy( 
    IQTEventTool __RPC_FAR * This,
    /* [in] */ const BYTE __RPC_FAR *pstrMessage);


void __RPC_STUB IQTEventTool_MessageToDSP_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IQTEventTool_INTERFACE_DEFINED__ */


#ifndef __IQTGeneral_INTERFACE_DEFINED__
#define __IQTGeneral_INTERFACE_DEFINED__

/* interface IQTGeneral */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IQTGeneral;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ba6266e0-51a1-11d4-834f-00105a67f94e")
    IQTGeneral : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ IQTLoad __RPC_FAR *pILoad) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ IQTSave __RPC_FAR *pISave) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeDSP( 
            /* [in] */ IQTEventTool __RPC_FAR *pIEventTool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MessageFromDSP( 
            /* [in] */ const BYTE __RPC_FAR *pstrMessage) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IQTGeneralVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IQTGeneral __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IQTGeneral __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IQTGeneral __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
            IQTGeneral __RPC_FAR * This,
            /* [in] */ IQTLoad __RPC_FAR *pILoad);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
            IQTGeneral __RPC_FAR * This,
            /* [in] */ IQTSave __RPC_FAR *pISave);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitializeDSP )( 
            IQTGeneral __RPC_FAR * This,
            /* [in] */ IQTEventTool __RPC_FAR *pIEventTool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MessageFromDSP )( 
            IQTGeneral __RPC_FAR * This,
            /* [in] */ const BYTE __RPC_FAR *pstrMessage);
        
        END_INTERFACE
    } IQTGeneralVtbl;

    interface IQTGeneral
    {
        CONST_VTBL struct IQTGeneralVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IQTGeneral_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IQTGeneral_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IQTGeneral_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IQTGeneral_Load(This,pILoad)	\
    (This)->lpVtbl -> Load(This,pILoad)

#define IQTGeneral_Save(This,pISave)	\
    (This)->lpVtbl -> Save(This,pISave)

#define IQTGeneral_InitializeDSP(This,pIEventTool)	\
    (This)->lpVtbl -> InitializeDSP(This,pIEventTool)

#define IQTGeneral_MessageFromDSP(This,pstrMessage)	\
    (This)->lpVtbl -> MessageFromDSP(This,pstrMessage)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTGeneral_Load_Proxy( 
    IQTGeneral __RPC_FAR * This,
    /* [in] */ IQTLoad __RPC_FAR *pILoad);


void __RPC_STUB IQTGeneral_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTGeneral_Save_Proxy( 
    IQTGeneral __RPC_FAR * This,
    /* [in] */ IQTSave __RPC_FAR *pISave);


void __RPC_STUB IQTGeneral_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTGeneral_InitializeDSP_Proxy( 
    IQTGeneral __RPC_FAR * This,
    /* [in] */ IQTEventTool __RPC_FAR *pIEventTool);


void __RPC_STUB IQTGeneral_InitializeDSP_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTGeneral_MessageFromDSP_Proxy( 
    IQTGeneral __RPC_FAR * This,
    /* [in] */ const BYTE __RPC_FAR *pstrMessage);


void __RPC_STUB IQTGeneral_MessageFromDSP_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IQTGeneral_INTERFACE_DEFINED__ */


#ifndef __IQTStaticInfo_INTERFACE_DEFINED__
#define __IQTStaticInfo_INTERFACE_DEFINED__

/* interface IQTStaticInfo */
/* [unique][helpstring][uuid][object] */ 

typedef /* [public][public][public][public][public][v1_enum] */ 
enum __MIDL_IQTStaticInfo_0001
    {	entioFirst	= 0,
	entioImage	= entioFirst + 1,
	entioCoordinateSystem	= entioImage + 1,
	entioDimension	= entioCoordinateSystem + 1,
	entioArea	= entioDimension + 1,
	entioLast	= entioArea + 1
    }	ENUMIOTAG;

typedef /* [public][public][v1_enum] */ 
enum __MIDL_IQTStaticInfo_0002
    {	entiFirst	= 0,
	entimall	= entiFirst + 1,
	entiStandard	= entimall + 1,
	entiBig	= entiStandard + 1,
	entiLast	= entiBig + 1
    }	ENUMTOOLICON;

typedef struct  _toolInput
    {
    ENUMIOTAG enumType;
    OLECHAR strName[ 64 ];
    OLECHAR strDescription[ 256 ];
    DWORD dwFlags;
    }	TOOLINPUT;

typedef struct  _toolOutput
    {
    ENUMIOTAG enumType;
    OLECHAR strName[ 64 ];
    OLECHAR strDescription[ 256 ];
    DWORD dwFlags;
    }	TOOLOUTPUT;


EXTERN_C const IID IID_IQTStaticInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ba6266e1-51a1-11d4-834f-00105a67f94e")
    IQTStaticInfo : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVersion( 
            /* [out] */ long __RPC_FAR *plMajor,
            /* [out] */ long __RPC_FAR *plIncompatible,
            /* [out] */ long __RPC_FAR *plCompatible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolClass( 
            /* [out] */ long __RPC_FAR *plToolClass) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIcon( 
            /* [in] */ const ENUMTOOLICON enumIconSize,
            /* [out] */ HICON __RPC_FAR *phIcon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [out] */ OLECHAR __RPC_FAR *polestrName,
            /* [out][in] */ long __RPC_FAR *plNoOfBytes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription( 
            /* [out] */ OLECHAR __RPC_FAR *polestrDescription,
            /* [out][in] */ long __RPC_FAR *plNoOfBytes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputs( 
            /* [out] */ TOOLINPUT __RPC_FAR *__RPC_FAR *ppInputs,
            /* [out] */ long __RPC_FAR *plNoOfInputs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOutputs( 
            /* [out] */ TOOLOUTPUT __RPC_FAR *__RPC_FAR *ppOutputs,
            /* [out] */ long __RPC_FAR *plNoOfOutputs) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IQTStaticInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IQTStaticInfo __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IQTStaticInfo __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plMajor,
            /* [out] */ long __RPC_FAR *plIncompatible,
            /* [out] */ long __RPC_FAR *plCompatible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetToolClass )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plToolClass);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIcon )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [in] */ const ENUMTOOLICON enumIconSize,
            /* [out] */ HICON __RPC_FAR *phIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [out] */ OLECHAR __RPC_FAR *polestrName,
            /* [out][in] */ long __RPC_FAR *plNoOfBytes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [out] */ OLECHAR __RPC_FAR *polestrDescription,
            /* [out][in] */ long __RPC_FAR *plNoOfBytes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputs )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [out] */ TOOLINPUT __RPC_FAR *__RPC_FAR *ppInputs,
            /* [out] */ long __RPC_FAR *plNoOfInputs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputs )( 
            IQTStaticInfo __RPC_FAR * This,
            /* [out] */ TOOLOUTPUT __RPC_FAR *__RPC_FAR *ppOutputs,
            /* [out] */ long __RPC_FAR *plNoOfOutputs);
        
        END_INTERFACE
    } IQTStaticInfoVtbl;

    interface IQTStaticInfo
    {
        CONST_VTBL struct IQTStaticInfoVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IQTStaticInfo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IQTStaticInfo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IQTStaticInfo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IQTStaticInfo_GetVersion(This,plMajor,plIncompatible,plCompatible)	\
    (This)->lpVtbl -> GetVersion(This,plMajor,plIncompatible,plCompatible)

#define IQTStaticInfo_GetToolClass(This,plToolClass)	\
    (This)->lpVtbl -> GetToolClass(This,plToolClass)

#define IQTStaticInfo_GetIcon(This,enumIconSize,phIcon)	\
    (This)->lpVtbl -> GetIcon(This,enumIconSize,phIcon)

#define IQTStaticInfo_GetName(This,polestrName,plNoOfBytes)	\
    (This)->lpVtbl -> GetName(This,polestrName,plNoOfBytes)

#define IQTStaticInfo_GetDescription(This,polestrDescription,plNoOfBytes)	\
    (This)->lpVtbl -> GetDescription(This,polestrDescription,plNoOfBytes)

#define IQTStaticInfo_GetInputs(This,ppInputs,plNoOfInputs)	\
    (This)->lpVtbl -> GetInputs(This,ppInputs,plNoOfInputs)

#define IQTStaticInfo_GetOutputs(This,ppOutputs,plNoOfOutputs)	\
    (This)->lpVtbl -> GetOutputs(This,ppOutputs,plNoOfOutputs)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetVersion_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plMajor,
    /* [out] */ long __RPC_FAR *plIncompatible,
    /* [out] */ long __RPC_FAR *plCompatible);


void __RPC_STUB IQTStaticInfo_GetVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetToolClass_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plToolClass);


void __RPC_STUB IQTStaticInfo_GetToolClass_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetIcon_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [in] */ const ENUMTOOLICON enumIconSize,
    /* [out] */ HICON __RPC_FAR *phIcon);


void __RPC_STUB IQTStaticInfo_GetIcon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetName_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [out] */ OLECHAR __RPC_FAR *polestrName,
    /* [out][in] */ long __RPC_FAR *plNoOfBytes);


void __RPC_STUB IQTStaticInfo_GetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetDescription_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [out] */ OLECHAR __RPC_FAR *polestrDescription,
    /* [out][in] */ long __RPC_FAR *plNoOfBytes);


void __RPC_STUB IQTStaticInfo_GetDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetInputs_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [out] */ TOOLINPUT __RPC_FAR *__RPC_FAR *ppInputs,
    /* [out] */ long __RPC_FAR *plNoOfInputs);


void __RPC_STUB IQTStaticInfo_GetInputs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IQTStaticInfo_GetOutputs_Proxy( 
    IQTStaticInfo __RPC_FAR * This,
    /* [out] */ TOOLOUTPUT __RPC_FAR *__RPC_FAR *ppOutputs,
    /* [out] */ long __RPC_FAR *plNoOfOutputs);


void __RPC_STUB IQTStaticInfo_GetOutputs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IQTStaticInfo_INTERFACE_DEFINED__ */


/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 

unsigned long             __RPC_USER  HDC_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HDC __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HDC_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HDC __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HDC_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HDC __RPC_FAR * ); 
void                      __RPC_USER  HDC_UserFree(     unsigned long __RPC_FAR *, HDC __RPC_FAR * ); 

unsigned long             __RPC_USER  HICON_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HICON __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HICON_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HICON __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HICON_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HICON __RPC_FAR * ); 
void                      __RPC_USER  HICON_UserFree(     unsigned long __RPC_FAR *, HICON __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif
